"""
学生成绩管理系统
一、需求分析：
    1.学生信息管理：
        1) 学生信息录入
        2) 学生信息查询
        3) 学生信息修改
        4) 学生信息删除
    2.成绩信息管理：
        1) 成绩信息录入
        2) 成绩信息查询
        3) 成绩信息修改
"""
import tkinter as tk
from tkinter import messagebox

class LoginWindow:
    def __init__(self, root):
        # 创建登录窗口界面

        root.title("用户登录")
        root.geometry("300x200")
        # 使用Frame容器化管理组件
        iframe = tk.Frame(root, width=300, height=200, relief='ridge')
        iframe.grid(padx=20, pady=30)
        # 系统标题
        sys_label = tk.Label(iframe, text="学生成绩管理系统",fg="green",font=("华文行楷",20))
        sys_label.grid(row=0, column=0, columnspan=2,pady=10)
        # 用户名输入
        name_label = tk.Label(iframe, text="用户名：")
        self.name_entry = tk.Entry(iframe)
        name_label.grid(row=1, column=0, sticky="e")
        self.name_entry.grid(row=1, column=1, sticky="w")
        # 密码的输入
        pwd_label = tk.Label(iframe, text="密码：", padx=10)
        self.pwd_entry = tk.Entry(iframe, show="*")
        pwd_label.grid(row=2, column=0, sticky="e")
        self.pwd_entry.grid(row=2, column=1, sticky="w")
        # 登录按钮
        login_button = tk.Button(iframe, text="登录", width=10, command=self.login)
        login_button.grid(row=3, column=0, columnspan=2)
        root.mainloop()

    def login(self):
        print("--------------")
        # 获取用户名和密码
        username = self.name_entry.get()
        password = self.pwd_entry.get()
        # 验证用户名和密码
        if self.validate_login(username,password):
            # 登录成功，弹出提示框
            tk.messagebox.showinfo("登录成功", "欢迎登录")
            # 销毁当前窗口，打开主界面
            root.destroy()
            # 创建主界面窗口
            main_window = tk.Tk()
            MainWindow(main_window,username)
        else:
            # 登录失败，弹出提示框
            tk.messagebox.showerror("登录失败", "用户名或密码错误")
    def validate_login(self,username,pwd):
        # @todo,暂时使用静态数据，后续从文件中读取相关用户信息

        user_list=[
            {"name":"admin","pwd":"123"},
            {"name":"user1","pwd":"123456"},
            {"name":"user2","pwd":"123456"}
        ]
        for user in user_list:
            if user["name"]==username and user["pwd"]==pwd:
                return True
        return False

class MainWindow:
    def __init__(self, main,name):
        # 创建主窗口界面
        main.title("主窗口")
        main.geometry("400x300")
        label = tk.Label(main, text=f"{name},您好！欢迎使用<学生成绩管理系统>")
        label.pack(pady=20)


# __main__
if __name__ == "__main__":
    root = tk.Tk()

    login_window = LoginWindow(root)




